package com.ruoyi.specific.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.domain.CommonUser;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 持续改善实例业务对象 improving_instance
 *
 * @author ruoyi
 * @date 2024-02-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ImprovingInstanceBo extends BaseEntity {

    /**
     * 流程实例id
     */
    @NotNull(message = "流程实例id不能为空", groups = { EditGroup.class })
    private Long id;
    /**
     * 用户id
     */
    private Long userId;

    /**
     * 项目名称
     */
    @NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String title;

    /**
     * 流程类型
     */
    @NotBlank(message = "流程类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kind;

    /**
     * 改善类型
     */
    @NotBlank(message = "改善类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 问题描述
     */
    @NotBlank(message = "问题描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String description;

    /**
     * 问题照片
     */
    @NotBlank(message = "问题照片不能为空", groups = { AddGroup.class, EditGroup.class })
    private String desPicture;

    /**
     * 改善建议
     */
    @NotBlank(message = "改善建议不能为空", groups = { AddGroup.class, EditGroup.class })
    private String suggestion;

    /**
     * 预期效果
     */
    private String expect;

    /**
     * 效果照片
     */
    private String expPicture;

    /**
     * 状态
     */
    @NotBlank(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 附件
     */
    private String attachment;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date date;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 工号
     */
    private String userName;

    /**
     * 姓名
     */
    private String nickName;

    /**
     * 通用用户id集合
     */
    private Long[] userIdList;
}
